package com.base.taskreports.reports.dao.jfs;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.base.taskreports.reports.entiyt.jfs.TblCqpntPointInFlowEntity;
import com.base.taskreports.reports.entiyt.jfs.TblPointActivityEntity;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author 张玉涛
 * @since 2021-11-09
 */
@Mapper
public interface TblCqpntPointInFlowDao extends BaseMapper<TblCqpntPointInFlowEntity> {

	List<TblCqpntPointInFlowEntity> selectFloatingRateOfNonMonetaryPoints(@Param(value = "jfsfzDayTabName")String jfsfzDayTabName,@Param(value = "assignjfsfqDayTabName") String assignjfsfqDayTabName,@Param(value = "yestoyyyymmddday") String yestoyyyymmddday,@Param(value = "assignYestoyyyymmddday") String assignYestoyyyymmddday,@Param(value = "pointTp") String pointTp,@Param(value = "floSt") String floSt);

	List<TblCqpntPointInFlowEntity> selectFloatingRatioOfNonRMBCurrencyPoints(@Param(value = "jfsfzDayTabName")String jfsfzDayTabName,@Param(value = "assignjfsfqDayTabName") String assignjfsfqDayTabName,@Param(value = "yestoyyyymmddday") String yestoyyyymmddday,@Param(value = "assignYestoyyyymmddday") String assignYestoyyyymmddday,@Param(value = "pointTp") String pointTp,@Param(value = "floSt") String floSt,
	@Param(value = "tblPointActivityList") List<TblPointActivityEntity> tblPointActivityList);

	List<TblCqpntPointInFlowEntity> selectFloatingRatioOfBonusAmountIssuedAfterSettlement();

	List<TblCqpntPointInFlowEntity> selectSingleUserCurrencyScoreBalanceNFloatingRatio(@Param(value = "jfsfzDayTabName")String jfsfzDayTabName,@Param(value = "yestoyyyymmddday") String yestoyyyymmddday,@Param(value = "pointTpOne") String pointTpOne,@Param(value = "floSt") String floSt);

	List<TblCqpntPointInFlowEntity> selectSingleUserNonCurrencyPointsBalanceNFloatingRatio(@Param(value = "jfsfzDayTabName")String jfsfzDayTabName,@Param(value = "yestoyyyymmddday") String yestoyyyymmddday,@Param(value = "pointTp") String pointTp,@Param(value = "floSt") String floSt);

	List<TblCqpntPointInFlowEntity> selectFloatingRatioOfTheNumberOfTransactionsByTemporaryUsers();

	List<TblCqpntPointInFlowEntity> selectTheCreditBalanceNegativeQuantity();

	Integer countTemporaryUsers(@Param(value = "assignjfsfqDayTabName") String assignjfsfqDayTabName,@Param(value = "assignYestoyyyymmddday") String assignYestoyyyymmddday,@Param(value = "floSt") String floSt);

	Integer countTheNumberOfTransactions(@Param(value = "jfsfzDayTabName") String jfsfzDayTabName,@Param(value = "yestoyyyymmddday") String yestoyyyymmddday,@Param(value = "floSt") String floSt);

	Integer selectFloatingRatio(@Param(value = "assignjfsfqDayTabName")String assignjfsfqDayTabName,@Param(value = "assignYestoyyyymmddday") String assignYestoyyyymmddday, @Param(value = "floSt") String floSt,
			@Param(value = "list") List<TblPointActivityEntity> tblPointActivityList);

	Integer selectCurrencyPoints(@Param(value = "jfsfzDayTabName")String jfsfzDayTabName,@Param(value = "yestoyyyymmddday") String yestoyyyymmddday,@Param(value = "floSt") String floSt,
			@Param(value = "list") List<TblPointActivityEntity> tblPointActivityList);

	Integer countRateExpiredPoints(@Param(value = "jfsfzDayTabName") String jfsfzDayTabName,@Param(value = "yestoyyyymmddday") String yestoyyyymmddday,@Param(value = "floSt") String floSt,@Param(value = "bussTp") String bussTp);


}
